1
데이터 스트림의 상태 기반 로직
AI037Lesson 2
00:00

C++에서는 데이터 스트림이 단순한 파이프만이 아니라, 상태를 가진 실체입니다. istream 객체를 불린 조건으로 평가하면 std::cin 프로그램은 사용자 입력이나 외부 파일의 예측할 수 없는 흐름에 적응할 수 있습니다.

1. 스트림을 진리값으로 간주하기

우리가 if (std::cin >> val)와 같은 표현을 사용할 때, 식은 true 스트림이 유효한 경우에만 반환됩니다. 만약 스트림이 끝파일(EOF) 또는 잘못된 데이터 타입을 만날 경우, "실패" 상태로 전환되어 false를 반환합니다.

2. 고정점과 탐지기

데이터 변화를 추적하기 위해 우리는 currVal (상태 고정점)과 val (활동적인 탐지기)를 정의합니다. 논리는 들어오는 탐지기를 고정점과 비교하는 데 의존합니다. 불일치가 발생하면 "상태 변경" 보고서가 트리거되며, 이는 최소한의 메모리로 무한한 데이터를 처리할 수 있게 해줍니다.

cin >> currValwhile(cin >> val)거짓EOF / 실패

3. 다중 읽기 작업

C++는 스트림 읽기 연쇄를 허용합니다: cin >> i >> j;이 문장은 첫 번째 값을 i 에, 두 번째 값을 j에 저장하며, 복잡한 레코드를 효율적으로 읽는 방법을 제공합니다.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>